﻿/// <reference path="DataService.js" />
/// <reference path="../Plugins/date.format.js" />
/// <reference path="../HtmlDesign/lib/js/jquery-1.10.2.min.js" />

function DocumentDetail(documentId, isAuthen) {

    //Private fileds
    var _documentId = documentId;
    var _isAuthen = isAuthen;

    var _dataService = new DataService();
    
    this.Init = function () {
        if (!_isAuthen) {
            $('#UploadData caption strong').text('Tài liệu tải lên (đăng nhập để tải tài liệu và xem video)')
        }
        GetFileUpload();
        DelegateEvent();

        //right menu: Get category
        $('#rmCategories div.list-group').empty();
        _dataService.Get('/api/ApiLibCategories/GetAll', function (data, textStatus, jqXHR) {
            if (data.success) {
                if (data.total <= 0) {
                    $('#rmCategories div.list-group').append('<a href="#" class="list-group-item">Chưa có danh mục nào trong hệ thống</a>');
                }
                else {
                    for (var i = 0; i < data.data.length; i++) {
                        var html = '<a href="/documents/category/' + data.data[i].CategoryId + '" class="list-group-item">' + (i + 1) + '. ' + data.data[i].CategoryName + '</a>';
                        $('#rmCategories div.list-group').append(html);
                    }
                }
            }
            else {
                $('#rmCategories').remove();
            }
        });

        //right menu: Get top 5 Documents by viewcount
        $('#rmDocumentsTopView div.list-group').empty();
        _dataService.Get('/api/ApiLibDocuments/GetTop5View', function (data, textStatus, jqXHR) {
            if (data.success) {
                if (data.data.length <= 0) {
                    $('#rmDocumentsTopView div.list-group').append('<a href="#" class="list-group-item">Chưa có tài liệu nào trong hệ thống</a>');
                }
                else {
                    for (var i = 0; i < data.data.length; i++) {
                        var html = '<a href="/documents/detail/' + data.data[i].DocumentId + '" class="list-group-item">' +
                                        '<div class="media">' +
                                            '<img class="media-object pull-left" src="' + ((data.data[i].ThumbnaiPath != null) ? '../../Contents/Image/DocumentThumbnails/' + data.data[i].ThumbnaiPath : '../../Contents/Image/thumbnail-none.gif') + '" style="width: 40px; height: 50px;" alt="...">' +
                                            '<div class="media-body">' +
                                                '<p>' + data.data[i].DocumentName + '</p>' +
                                                '<p class="text-success">Lượt xem: <span class="badge">' + data.data[i].ViewCount + '</span></p>' +
                                            '</div>' +
                                        '</div>' +
                                    '</a>';

                        $('#rmDocumentsTopView div.list-group').append(html);
                    }
                }
            }
            else {
                $('#rmDocumentsTopView').remove();
            }
        });
    };

    function GetFileUpload() {
        var url = '/api/ApiLibDocuments/GetUploadData?documentId=' + _documentId + '&index=1&size=50&order=UploadDate';

        _dataService.Get(url, FileUploadSuccessCallback);
    }

    function FileUploadSuccessCallback(data, textStatus, jqXHR) {
        FileUploadInsertDocumentItem(data);
        
    }

    function FileUploadInsertDocumentItem(data) {
        if (!data) {
            return;
        }
        $('#UploadData tbody').empty();
        for (var i = 0; i < data.data.length; i++) {
            var html = '';
            if (_isAuthen) {
                html = '<tr>' +
                            '<td>' + (i + 1) + '</td>' +
                            '<td>' + data.data[i].FileName + '</td>' +
                            '<td class="hidden-xs">' + data.data[i].UploadDate + '</td>' +
                            '<td>' +
                                '<button class="btn btn-default btn-xs table-action" value="' + '/api/ApiFileAction/GetFile?fileName=' + data.data[i].FileName + '"><i class="fa fa-download"></i></button>' +
                                ((data.data[i].FileExtension.toLowerCase() == 'mp4') ? '<button class="btn btn-default btn-xs table-action" value="' + data.data[i].FileName + '"><i class="fa fa-play"></i></button>' : '') +
                            '</td>' +
                        '</tr>';
            }
            else {
                html = '<tr>' +
                            '<td>' + (i + 1) + '</td>' +
                            '<td>' + data.data[i].FileName + '</td>' +
                            '<td class="hidden-xs">' + data.data[i].UploadDate + '</td>' +
                        '</tr>';
            }
            
            $('#UploadData tbody').append(html);
        }

        //button click
        $('#UploadData tbody button.table-action').click(function () {
            if ($(this).find('i').hasClass('fa-download')) {
                var link = $(this).attr('value');
                //alert(link);
                window.location.href = link;
            }
            if ($(this).find('i').hasClass('fa-play')) {
                var link = '/media/' + $(this).attr('value');
                //alert(link);
                var modalVideo = new StreamingHelper();
                modalVideo.InitModal(link, $(this).attr('value'));
            }
        });
    }

    function DelegateEvent() {
        //Save
        $('#btnBorrow').click(function () {
            $('#borrowDocumentModal').modal('show');
        });
    }
}